|   430(字)

css hack

css中 *margin-bottom:20px!important;这里的*及!important的作用?

*是区分浏览器兼容性的,写在一条样式里可以区分IE6、IE7和别的浏览器的不同,如:

1
.bor { border:20px solid green; *border:20px solid red ; padding: 30px;width : 300px;}

绿色边框的样式写在前面,这时候所有浏览器都是绿色边框,红色边框的样式用了*,IE6和IE7能识别,其他浏览器不能识别,所以覆盖了前面的绿色边框,所以IE6和IE7显示红色边框,其他浏览器显示绿色边框

!important的作用是提高指定样式规则的应用优先权。写在定义的最后面,例如:

1
box{color:red !important;}

最重要的一点是:IE 6.0一直都不支持这个语法,而其他的浏览器都支持。因此我们就可以利用这一点来分别 比如:

1
.bor{border:20px solid red !important;border:20px solid green;padding: 30px;width : 300px;}

因为ie6不认识!important,后面的绿色边框样式就会覆盖前面那句红色边框样式,而如ie7、火狐等浏览器认识!important,知道这一条样式的优先级要比后面那句高,就只会执行这句红色边框的样式。

1
2
3
4
5
6
7
8
9
10
11
/*ie6 hack*/
html, *html body{
background-image: url('about:blank');
background-attachment:fixed;
}
* html #menu {
/*position: fixed;*/
position: absolute;
top: expression(((e=document.documentElement.scrollTop)?e:document.body.scrollTop)+100+'px');
}

这一段是css hack 解决ie6 兼容性问题
测试IE兼容性可以用IEtester 点这里

IETester包含多个版本的IE,可以方便的用来进行兼容性测试,获取下载或者更多信息可以访问:http://www.my-debugbar.com/wiki/IETester/HomePage

参考教程

css hack
css hack一览
各种css hack情况

AlexZ33 wechat
扫码订阅公众号
如果文章对您有用请随意打赏,谢谢支持!